package com.lagou.task10;

public class StaticOuter {
    private int cnt = 1;  //隶属于对象层级
    private static int snt = 2;  //隶属于对象层级

    public /*static */void show() {
        System.out.println("外部类show方法在这里" );
    }
    /*
    * 定义静态内部类  有static关键字修饰隶属于类层级
    * */
    public static class StaticInner {
        private int ia=3;
        private static int snt = 4;

        public StaticInner() {
            System.out.println("静态内部类的构造方法哦!!");
        }
        public void show() {
            System.out.println("ia=" +ia);
            System.out.println("外部类中的snt=" +snt);
//            System.out.println("外部类的cnt=" +cnt); //静态上下文中不能访问非静态的成员, 因此此时还可能没有创建对象
        }

        public void show2(int snt) {
            System.out.println("snt" + snt);
            System.out.println("内部类中的成员snt = " + StaticInner.snt);
            System.out.println("外部类中的成员snt = " + StaticOuter.snt);
            new StaticOuter().show();
        }
    }
}
